.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "FILE" "1" "March 2015" "" ""
.
.SH "NAME"
\fBfile\fR \- 辨识文件类型
.
.SH "总览"
\fBfile [\-beLvz][\-f <名称文件>][\-m <魔法数字文件>\.\.\.][文件或目录\.\.\.]\fR
.
.SH "描述"
File命令试图检查每个参数以判定文件的类型\.检查共有三组，按如下顺序进行:文 件系统检查，幻数检查，以及语言检查\.
.
.P
文件系统检查是建立在对stat(2)系统调用结果的分析上的\.程序会分析文件是否为 空,或者是否是某种特殊文件\.对于所有可在现有系统上使用的文件类型(比如套接 口文件，动态链接文件，命名管道文件(FIFOs)等)，只要它在系统头文件 sys/stat\.h中已经定义过，就可以被检查到\.
.
.P
幻数检查用来检查文件中是否有特殊的固定格式的数据\.规范的例子如二进制可执 行文件(编译后的程序)a\.out,该文件格式在标准include目录下的a\.out\.h文件中定 义，也可能在exec\.h中定义\.这些文件在文件开始部分附近的一个特殊位置保存有 一个’幻数’,通过幻数告诉UNIX操作系统此文件是二进制可执行文件,和其中包含的 其它类型\.幻数的概念已经扩展到数据文件\.任何在文件固定位置有与文件类型相关 的不变标识符的文件都可以这样表示\.这些文件中的信息可以从幻数文件 /usr/share/magic中读取\.
.
.P
如果文件为ASCII文件,file会试图检查它的语言\.语言检查在文件开始的几个块中( 任意位置)查找是否有特殊字符串(参看names\.h)例如，关键字\.br指出此文件很可 能是troff(1)输入文件,而关键字struct指出此文件是C程序\.语言检查不如前两组 检查可靠，所以放在最后执行\.它也用来检查一些混合文件(例如tar(1)存档文件) 并确定文件是‘ascii text’类型还是‘data’类型\.
.
.P
输出的类型一般会包含以下的词中的一个:text(文件中仅有ASCII字符，可以用 ASCII终端读此文件，以保证内容的可靠性),executable(文件中保存的是程序编 译后的结果，一些UNIX内核或其它内核能理解这类文件),data表示所有其它类型 文件(data一般为二进制文件或者不可打印的)\.但是有的常用的文件格式(如core 文件、tar包)，虽然也包含二进制数据，却不属于这一类\.
.
.SH "参数"
.
.TP
\fB\-b\fR
列出辨识结果时，不显示文件名称。
.
.TP
\fB\-c\fR
详细显示指令执行过程，便于排错或分析程序执行的情形。
.
.TP
\fB\-f <名称文件>\fR
指定名称文件，其内容有一个或多个文件名称时，让file依序辨识这些文 件，格式为每列一个文件名称。
.
.TP
\fB\-L\fR
直接显示符号连接所指向的文件的类别。
.
.TP
\fB\-m <魔法数字文件>\fR
指定魔法数字文件。
.
.TP
\fB\-v\fR
显示版本信息。
.
.TP
\fB\-z\fR
尝试去解读压缩文件的内容。

